package SqString;

public class SqStringClass {
    // 顺序串是数组里面都是字符
    char[] data;
    final int maxsize =100;
    int size;
    public SqStringClass(){
        data = new char[maxsize];
        size = 0;
    }
    //传递字符串创建这个顺序串
    public void StrAssign(String str){
        for(int i=0;i<str.length();i++){
            data[i] = str.charAt(i);
            size++;
        }
    }
    // 返回序号为i的字符
    public char geti(int i){
        return data[i];
    }
    // 设置序号为i的字符为x
    public void seti(int i,char x){
        data[i] = x;
    }
    // 串连接,返回连接之后的值
    public String concat(String t){
        int len =  size+t.length();
        for(int i= size;i<len;i++){
            data[i] = t.charAt(i-size);

        }
        size+=t.length();
        return this.toString();
    }
    // 求字串
    public SqStringClass substr(int i,int j){
        SqStringClass s = new SqStringClass();
        for(int k=i;k<i+j;k++){
            s.data[k-i] = data[k];
        }
        s.size = j;
        return s;
    }
    // 把顺序串拼接成字符串
    public String toString(){
        String str = "";
        for(int i=0;i<size;i++){
            str+=data[i];
        }
        return str;
    }
    // 字符插入
    public void insert_str(int i,char t){
        for(int k=size-1;k>=i;k--){
            data[k+1] = data[k];
        }
        data[i] = t;
        size++;
    }
}
